package com.zzh.ex1;
//你正在使用一堆木板建造跳水板。有两种类型的木板，其中长度较短的木板长度为shorter，长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方
//法，生成跳水板所有可能的长度。
// 返回的长度需要从小到大排列。
// 示例：
// 输入：
//shorter = 1
//longer = 2
//k = 3
//输出： {3,4,5,6}
//
// 提示：
//
// 0 < shorter <= longer
// 0 <= k <= 100000
//
// Related Topics 递归 记忆化
// 👍 41 👎 0

import java.util.Arrays;

public class No16_11_divingBoard {
    public static void main(String[] args) {
        No_16_11Solution solution = new No_16_11Solution();
        int[] ints = solution.divingBoard(3, 6, 100);
        System.out.println(Arrays.toString(ints));
    }
}

class No_16_11Solution {
    public int[] divingBoard(int shorter, int longer, int k) {
        if (k == 0) {
            return new int[0];
        }
        if (shorter == longer) {
            return new int[]{k * shorter};
        }
        int[] ret = new int[k + 1];
        int cnt = 0;
        for (int i = 0; i <= k; i++) {
            ret[cnt++] = i * longer + (k - i) * shorter;
        }
        return ret;
    }
}
